package co.fitstart.signin.service;

import java.util.List;
import co.fitstart.entity.course.round.CourseRound;
import co.fitstart.entity.course.schedule.CourseSchedule;
import co.fitstart.entity.course.schedule.StudentSigninRecord;
import co.fitstart.entity.principal.Principal;
import co.fitstart.entity.user.bwh.BwhRecord;

/**
 * 
 * @author dan
 *
 */
public interface SigninService {
    
    /**
     * 
     * @return
     */
    public List<StudentSigninRecord> list();
    
    /**
     * 
     * @param siteId
     * @param message
     * @return
     */
    public StudentSigninRecord load(Long siteId, String message);
    
    /**
     * 
     * @param courseScheduleId
     * @return
     */
    public CourseSchedule loadCourseSchedule(Long courseScheduleId);
    
    /**
     * 
     * @param courseRound
     * @return
     */
    public int countFinishedSchedule(CourseRound courseRound);
    
    /**
     * 
     * @param record
     */
    public void showSigninRecord(StudentSigninRecord record);
    
    /**
     * 
     * @param courseSchedule
     * @param siteServer
     * @param bwhRecord
     */
    public void signin(CourseSchedule courseSchedule, Principal siteServer, BwhRecord bwhRecord);

    /**
     * 
     * @param courseRound
     * @return
     */
    public boolean isBwhNeeded(CourseRound courseRound);
    
    /**
     * 
     * 已完成为判断
     * 
     * @param courseSchedule
     * @return
     */
    public boolean isBwhNeeded(CourseSchedule courseSchedule);
}
